🎖️GitЯра🎖️
Optional auto-updates for Electron apps over Reticulum.
>electron-updater-rns
Currently Experimental!!!
Optional auto-updates for Electron apps over Reticulum. Works with T383838electron-updater and standard T383838electron-builder output.
Differential downloads are supported when blockmap files are published.
Requirements
• Node.js with T383838electron and T383838electron-updater
• Python 3 with T383838rns installed
• A working Reticulum config
Install
T282828
npm install electron-updater-rns
pip install ./python
Publish updates
Build your app with T383838electron-builder, then copy the output to a local directory your publishing peer can read.
T282828
rns-update-server publish --source ./release --target ./updates
Include T383838latest.yml (or platform channel files), installers, and T383838.blockmap files.
Run a publishing peer
Start a peer that announces your update destination and serves files to the network.
T282828
rns-update-server serve --dir ./updates --identity ./publisher.identity
Save the destination hash printed on first run. Receiving peers need this hash to link to your update destination.
Use in Electron
Your app runs a local Python sidecar that talks to Reticulum on its behalf. The sidecar links to the publishing peer and pulls updates over the network.
T282828
Tff7b72import Tb4b4b4{ Te6edf3app Tb4b4b4} Tff7b72from Ta5d6ff"electron"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3createReticulumUpdaterTb4b4b4, Te6edf3stopReticulumUpdater Tb4b4b4} Tff7b72from Ta5d6ff"electron-updater-rns"Tb4b4b4;
Tff7b72const Te6edf3updater Tff7b72= Te6edf3createReticulumUpdaterTb4b4b4(Tb4b4b4{
Te6edf3destinationTff7b72: Ta5d6ff"publisher_destination_hash"Tb4b4b4,
Te6edf3enabledTff7b72: Tffa657process.env.RNS_UPDATES Tff7b72=== Ta5d6ff"1"Tb4b4b4,
Tb4b4b4}Tb4b4b4, Te6edf3appTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3updaterTb4b4b4) Tb4b4b4{
Te6edf3updaterTb4b4b4.Te6edf3checkForUpdatesAndNotifyTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3appTb4b4b4.Te6edf3onTb4b4b4(Ta5d6ff"before-quit"Tb4b4b4, Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Te6edf3stopReticulumUpdaterTb4b4b4(Te6edf3updaterTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Dump your HTTP updater and use RNS when you want updates over the mesh.
Layout
• T383838python/ publishing peer and receiving sidecar
• T383838packages/electron-updater-rns/ npm package
License
0BSD.
Served by rngit 1.4.2 - Generated in 0.11s